package com.mybatis.lo.factory;

import com.mybatis.lo.constant.ExecutorType;
import com.mybatis.lo.sqlsession.SqlSession;

/**
 * SqlSession工厂，可以通过不同方式获取`SqlSession`
 * @author zhangbh
 * 2023-06-15 08:40
 **/
public interface SqlSessionFactory {

    /**
     * 开启一次会话
     * @return SqlSession
     */
    SqlSession openSession();

    /**
     * 开启一次会话，并且指定执行器类型
     * @param executorType 执行器类型
     * @return sqlSession
     */
    SqlSession openSession(ExecutorType executorType);
}
